#ifndef GSDATA_H
#define GSDATA_H

#include <QString>
#include <QObject>
#include <itpp/itbase.h>

using namespace itpp;

//define data type flags
#define VECTOR_FLAG 0x51
#define MATRIX_FLAG 0x52
#define ARRAY_VEC_FLAG 0x53
#define ARRAY_MAT_FLAG 0x54
#define STRING_FLAG 0x55

class GSData
{
    Q_ENUMS(DataType)

public:
    enum DataType {VECTOR, MATRIX,
                   ARRAY_VEC, ARRAY_MAT,
                   STRING};
    DataType inDataType; // Data type

    QString name;
    QString comments;

    vec vecData;
    mat matData;

    Array<vec> arrayVecData;
    Array<mat> arrayMatData;

    QString stringData;
};

#endif // GSDATA_H
